/* enable PIO instead of MMIO, if CONFIG_8139TOO_PIO is selected */
-#ifdef CONFIG_8139TOO_PIO
+#if defined(CONFIG_8139TOO_PIO) || defined(XEN) /* XXX MMIO fails on Xen :-( */
#define USE_IO_OPS 1
#endif
return 0;
}
+#ifndef XEN
/* Get the ethtool Wake-on-LAN settings. Assumes that wol points to
kernel memory, *wol has been initialized as {ETHTOOL_GWOL}, and
return 0;
}
-#ifndef XEN
static int netdev_ethtool_ioctl (struct net_device *dev, void *useraddr)
{
struct rtl8139_private *np = dev->priv;
#define _LINUX_ETHERDEVICE_H
#include <xeno/if_ether.h>
+#include <asm/domain_page.h>
#ifdef __KERNEL__
extern int eth_header(struct sk_buff *skb, struct net_device *dev,
static inline void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base)
{
- memcpy (dest->data, src, len);
+ char *vdata = map_domain_mem(__pa(dest->data));
+ memcpy(vdata, src, len);
+ unmap_domain_mem(vdata);
}
/**